// /*
//  * @Author: silence
//  * @Date: 2022-05-28 11:32:05
//  * @LastEditors: Please set LastEditors
//  * @LastEditTime: 2022-09-02 18:39:23
//  * @Description: 广告相关
//  */

// import 'package:flutter/material.dart';
// import 'package:my_ks_ads_plugin/my_ks_ads_plugin.dart';
// import 'package:my_utils_package/log/SilLog.dart';
// import 'package:pangle_flutter/pangle_flutter.dart';

// import 'AdConfig.dart';

// class AdUtils {
//   /**
//    * @description: 初始化广告 SDK
//    * @return {*}
//    */
//   static Future<bool> init() async {
//     if (AdsConfig.isKuaiShowAd) {
//       String idfa = await MyKsAdsPlugin.requestIDFA();
//       print('idfa:$idfa');

//       // 需要请求权限
//       await MyKsAdsPlugin.requestAdsPermission();
//       bool isAdsPermissionGranted =
//           await MyKsAdsPlugin.isAdsPermissionGranted();
//       if (isAdsPermissionGranted == false) return false;

//       return await MyKsAdsPlugin.initAd(
//           iosAppId: AdsConfig.iosAppId,
//           androidAppId: AdsConfig.androidAppId,
//           showLog: true);
//     }

//     PangleResult result = await pangle.init(
//         iOS: IOSConfig(appId: AdsConfig.iosAppId),
//         android: AndroidConfig(appId: AdsConfig.androidAppId));

//     return result.ok;
//   }

//   /**
//    * @description: 展示开屏广告
//    * @return {*}
//    */
//   static Widget splashScreenAdWidget(KsAdCallback callback) {
//     if (AdsConfig.isKuaiShowAd) {
//       return KsSplashScreenAdView(
//         iosPosId: AdsConfig.splashId,
//         androidPosId: AdsConfig.splashId,
//         isShowLog: true,
//         onLoad: callback.onLoad,
//         onFail: callback.onFail,
//         onSkip: callback.onSkip,
//         onFinish: callback.onFinish,
//       );
//     }

//     return SplashView(
//       iOS: IOSSplashConfig(slotId: AdsConfig.splashId),
//       android:
//           AndroidSplashConfig(slotId: AdsConfig.splashId, isExpress: false),
//       onLoad: callback.onLoad,
//       onError: (int code, String message) {
//         print('广告出错了：$message');
//         if (callback.onFail != null) callback.onFail!(message);
//       },
//       onClick: callback.onClick,
//       onSkip: callback.onSkip,
//       onTimeOver: callback.onFinish,
//     );
//   }

//   /**
//    * @description: 展示激励视频广告
//    * @return {*}
//    */
//   static Future<void> showRewardVideoAd(
//       {void Function()? closeAdHanndler,
//       void Function()? complateAdHanndler,
//       void Function()? errorHandler}) async {
//     await pangle.loadRewardedVideoAd(
//       android: AndroidRewardedVideoConfig(slotId: AdsConfig.rewardVideoId),
//       iOS: IOSRewardedVideoConfig(slotId: AdsConfig.rewardVideoId),
//       callback: (event) {
//         SilTools.i(event);

//         if (event == 'close') {
//           SilLog.e("用户关闭了激励视频");
//           if (closeAdHanndler != null) closeAdHanndler();
//         } else if (event == 'error' || event == 'render_fail') {
//           if (errorHandler != null) errorHandler();
//         } else if (event == 'complete') {
//           if (complateAdHanndler != null) complateAdHanndler();
//         }
//       },
//     );
//   }

//   /**
//    * @description: 展示插屏广告
//    * @return {*}
//    */
//   static Future<bool> showInterstitialAd(
//       {double width = 300, double height = 300}) async {
//     PangleResult result = await pangle.loadInterstitialAd(
//         iOS: IOSInterstitialConfig(
//             slotId: AdsConfig.bannerId,
//             expressSize: PangleExpressSize(width: width, height: height)),
//         android: AndroidInterstitialConfig(
//             slotId: AdsConfig.bannerId,
//             expressSize: PangleExpressSize(width: width, height: height)));

//     return result.ok;
//   }

//   /**
//    * @description: 展示banner广告
//    * @return {*}
//    */
//   /// [posId] 广告位 id
//   /// [width] 创建 Banner 广告位时选择的宽度，默认值是 300
//   /// [height] 创建 Banner 广告位时选择的高度，默认值是 150
//   /// [interval] 广告轮播间隔，0 或[30~120]之间的数字，单位为 s,默认为 0 不轮播
//   /// [show] 是否显示广告
//   /// [autoClose] 是否自动关闭，一般是在用户点击不感兴趣之后的操作
//   static Widget showBannerAd(
//       {double width = 300,
//       double height = 150,
//       void Function()? onClick,
//       dynamic Function(int, String)? onError,
//       dynamic Function(String, bool)? onDislike,
//       void Function()? onRenderSuccess,
//       Key? key}) {
//     return Container(
//       height: height,
//       width: width,
//       alignment: Alignment.center,
//       child: BannerView(
//         key: key,
//         iOS: IOSBannerConfig(
//           slotId: AdsConfig.bannerId,
//           expressSize: PangleExpressSize(width: width, height: height),
//         ),
//         android: AndroidBannerConfig(
//           slotId: AdsConfig.bannerId,
//           expressSize: PangleExpressSize(width: width, height: height),
//         ),
//         onBannerViewCreated: (BannerViewController controller) {
//           // 传入Rect.zero屏蔽点击，传入[](默认就是[])允许点击
//           controller.updateTouchableBounds([Rect.zero]);
//           // 传入Rect.zero无影响
//           controller.updateRestrictedBounds([Rect.zero]);
//         },
//         onClick: onClick,
//         onError: onError,
//         onRenderFail: onError,
//         onDislike: onDislike,
//       ),
//     );
//   }
// }
